The present invention relates to the field of information service architectural design.
The ability to reuse software assets represents a significant time-savings when designing new software solutions, especially in a service-oriented architecture (SOA) environment. Reusable software assets often embody knowledge that is specific to the solution's requirements, both functional and non-functional, the architect designing the solution, and/or the industry to which the solution pertains. As used herein, the term “reusable software asset” is used to refer to a variety of data utilized in the development of software solutions (e.g., Web services, software applications, etc.). Examples of reusable software assets can include, but are not limited to, pattern specifications, pattern implementations, data models, software code modules, and the like.
Some reusable software assets represent an aggregate of assets. For example, a pattern asset often includes a pattern specification, one or more pattern implementations, and one or more feature design specifications. Therefore, a pattern asset is capable of assuming a number of forms represented by the total number of distinct permutations of its sub-components.